$.validator.setDefaults({
    submitHandler: function (val) {
        oktipsoption = {
            type: 1,
            url:$( '.formsub').attr('url')
        };
        ajaxform.init(oktipsoption, '.formsub');
        ajaxform.submit();
    },
    errorPlacement: function (error, element) {
        element.parents('.l_b').append(error);
        element.parents('.l_b').find('.prompt').hide();
    }
});

$(document).ready(function () {
    $(".l_b input").focus(function () {
        $(this).addClass('u-ipt-active');
        $(this).next('.error').hide();
        $(this).removeClass('error');
        // $(this).parents('.l_b').find('.prompt').show();
    });


    $(".l_b input").blur(function () {
        $(this).removeClass('u-ipt-active');
        if ($(this).parents('.l_b').find('label.error').is(":visible")) {
            $(this).addClass('error');
            $(this).parents('.l_b').find('.prompt').hide();
        } else {
            $(this).removeClass('error');
            $(this).removeClass('u-ipt-active');
            $(this).parents('.l_b').find('.prompt').show();
        }
    });

    // 验证管理员姓名 中文字符
    $.validator.addMethod("chkadminname", function (value) {
        var adminnameReg =  /^[\u4e00-\u9fa5]+$/;
        return adminnameReg.test(value);
    });

    // 验证管理员手机号码
    $.validator.addMethod("chkadminphone", function (value) {
        var adminphoneReg = /^1\d{10}$/;
        return adminphoneReg.test(value);
    });

    // 验证手机短信验证码
    $.validator.addMethod("chkphonecode", function (value) {
        var yzcodeReg = /^\d{6}$/;
        return yzcodeReg.test(value);
    });

    // 验证身份证
    // $.validator.addMethod("chkadmincardno", function (value) {
    //     var admincardnoReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
    //     return admincardnoReg.test(value);
    // });

     // 验证身份证
    $.validator.addMethod("chkadmincardno", function (value)
    {
        return check_id($("#admincardno").val());
    });

    

    $("#compact").validate({
        rules: {
            adminname:{
                required: true,
                chkadminname:true,
                maxlength:12
            },
            adminphone:{
               required: true,
               chkadminphone:true
            },
            phonecode: {
                required: true,
                chkphonecode: true,
                remote: {
                    url: $("#checkphoneurl").val(),
                    type: "Post",
                    async: false,
                    data: {
                        yzcode: function () {
                            return $("#phonecode").val();
                        }
                    },
                    dataType: "json"
                }
                // yzcodeck: true
            },
            admincardno:{
                required: true,
                chkadmincardno: true
            }
        },
        messages: {
            adminname:{
                required:'请输入管理员姓名',
                chkadminname:'请输入中文名称',
                maxlength:'最多输入12个字符'
            },
            adminphone:{
               required: '请输入11位管理员手机号码',
               chkadminphone:'手机号码不正确'
            },
            phonecode: {
                required: '请输入短信验证码',
                chkphonecode: '验证码为6位数字',
                remote:'请输入正确的短信验证码'
                // yzcodeck: true
            },
            admincardno:{
                required: '请输入管理员身份证号',
                chkadmincardno: '请输入正确的身份证号'
            }
        },
        focusInvalid: false,
        onkeyup: false
    });
})

// 短信验证计时
var InterValObj1; //timer变量，控制时间
var curCount1;//当前剩余秒数
function sendMessage() {
    var count = 60; //间隔函数，1秒执行
    if ($("#compact").validate().element($("#adminphone"))) {
        curCount1 = count;
        //设置button效果，开始计时
        $(".js_yzcode").attr("disabled", "true");
        $(".js_yzcode").text(curCount1 + "S");
        $(".js_yzcode").css("background", "#ccc");
        $(".js_yzcode").removeAttr("onclick",'');
        InterValObj1 = setInterval(SetRemainTime, 1000); //启动计时器，1秒执行一次
        //向后台发送处理数据
        $.ajax({
            type: "POST", //用POST方式传输
            dataType: "json", //数据格式:JSON
            url: $('#sendphoneurl').val(), //目标地址
            data: {phone: $("#adminphone").val()}
        });
    }
}

//timer处理函数
function SetRemainTime() {
    if (curCount1 == 0) {
        clearInterval(InterValObj1);//停止计时器
        $(".js_yzcode").removeAttr("disabled");//启用按钮
        $(".js_yzcode").attr("onclick",'sendMessage()');
        $(".js_yzcode").text("重新发送");
        $(".js_yzcode").css("background", "#f60");
    } else {
        curCount1--;
        $(".js_yzcode").text(curCount1 + "S");
    }
}

function check_id(value)
{
    var arrExp = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];//加权因子  
    var arrValid = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2];//校验码  
    if (/^\d{17}\d|x$/i.test(value))
    {
        var sum = 0, idx;
        for (var i = 0; i < value.length - 1; i++)
        {
            // 对前17位数字与权值乘积求和  
            sum += parseInt(value.substr(i, 1), 10) * arrExp[i];
        }
        // 计算模（固定算法）  
        idx = sum % 11;
        // 检验第18为是否与校验码相等  
        return arrValid[idx] == value.substr(17, 1).toUpperCase();
    } else
    {
        return false;
    }
}